﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CurriculasEntities;
using CurriculasController;
using System.Data;

namespace GestionCurriculosGlobal
{
    public partial class frmPlanCurricular : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Session["opcion"] = 3;
            if (!Page.IsPostBack)
            {
                CargarGrilla();
            }
        }

        protected void btnCrear_Click(object sender, EventArgs e)
        {
            Response.Redirect("frmRegPlanCurricular.aspx");
        }

        protected void btnModificar_Click(object sender, EventArgs e)
        {
            int contador = 0;
            string codPlanCurricular = string.Empty;
            string strScript = string.Empty;

            foreach (GridViewRow row in gvPlanCurricular.Rows)
            {
                if (row.RowType == DataControlRowType.DataRow)
                {
                    CheckBox chkRow = (row.Cells[0].FindControl("chkPlanCurricular") as CheckBox);
                    if (chkRow.Checked)
                    {
                        codPlanCurricular = row.Cells[1].Text;
                        contador += 1;
                    }
                }
            }

            if (contador == 0)
            {
                strScript = "alert('No se ha seleccionado un plan curricular a modificar.')";
            }
            else if (contador == 1)
            {
                Response.Redirect("frmRegPlanCurricular.aspx?idPlanCurricular=" + codPlanCurricular);
            }
            else if (contador > 1)
            {
                strScript = "alert('Solo se puede modificar un plan curricular a la vez.')";
            }
            Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", strScript, true);
        }

        protected void btnEliminar_Click(object sender, EventArgs e)
        {
            int contador = 0;
            int codPlanCurricular = 0;
            string strScript = string.Empty;

            foreach (GridViewRow row in gvPlanCurricular.Rows)
            {
                if (row.RowType == DataControlRowType.DataRow)
                {
                    CheckBox chkRow = (row.Cells[0].FindControl("chkPlanCurricular") as CheckBox);
                    if (chkRow.Checked)
                    {
                        codPlanCurricular = int.Parse(row.Cells[1].Text);
                        contador += 1;
                    }
                }
            }

            if (contador > 1)
            {
                strScript = "alert('Solo se puede eliminar un plan curricular a la vez.')";
            }
            if (contador == 1)
            {
                if (codPlanCurricular != 0)
                {
                    strScript = "ConfirmDelete('" + codPlanCurricular + "')";
                }
            }
            else if (contador == 0)
            {
                strScript = "alert('Seleccione un plan curricular para eliminar.')";
            }

            Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", strScript, true);
        }

        protected void btnEliminarTrue_Click(object sender, EventArgs e)
        {
            int codPlanCurricular = int.Parse(hidCodPlanCurricular.Value);
            string strScript = string.Empty;

            if (codPlanCurricular != 0)
            {
                PlanCurricularBL objBL = new PlanCurricularBL();
                PlanCurricularBE objBE = new PlanCurricularBE();

                objBE = objBL.Obtener(codPlanCurricular);
                objBE.estado = "0";

                objBE = objBL.Modificar(objBE);
                CargarGrilla();

                strScript = "alert('Se eliminó el plan curricular con código: " + codPlanCurricular + "');";

                Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", strScript, true);
            }
        }

        protected void btnConsultar_Click(object sender, EventArgs e)
        {
            CargarGrilla();
        }

        private void CargarGrilla()
        {
            //IEnumerable<PlanCurricularBE> _lstPlanCurricular = new PlanCurricularBL().ListarTodos().Where(p => p.nombreplan.ToUpper().Contains(txtNombre.Text.ToUpper()) && p.estado == "1");
            //gvPlanCurricular.DataSource = _lstPlanCurricular.OrderByDescending(p => p.codPlanCurricular);
            //gvPlanCurricular.DataBind();

            List<ListaPlanCurricularBE> _plancurricular = new ListaBL().ListarPlanCurricular().Where(c => c.nombreplan.ToUpper().Contains(txtNombre.Text.ToUpper()) && c.estado == "1").ToList();
            gvPlanCurricular.DataSource = _plancurricular.OrderByDescending(c => c.codPlanCurricular);
            gvPlanCurricular.DataBind();
        }

        protected void gvPlanCurricular_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        protected void gvPlanCurricular_RowCreated(object sender, GridViewRowEventArgs e)
        {
            e.Row.Cells[6].Visible = false; // hides the first column
        }
    }
}